/**************************************************
|	File:		MainMenuState.h
|	Author:		Benjamin Budian
|	Course:		SGD
|	Purpose:	CMainMenuState class handles the 
|				main menu screen.
**************************************************/

#ifndef MAINMENUSTATE_H
#define MAINMENUSTATE_H


#include "IGameState.h"


/*************************************************/
// CMainMenuState class
//	- handles the main menu screen
//	- singleton
class CMainMenuState : public IGameState
{
public:
	///////////////////////////////////////////////
	// SINGLETON!
	static CMainMenuState* GetInstance( void );
	
	///////////////////////////////////////////////
	// IGameState Interface:
	virtual void Enter( void )	override;					// load resources
	virtual void Exit( void )	override;					// unload resources

	virtual bool Input( void )	override;					// handle user input
	virtual void Update( float fElapsedTime )	override;	// update the state
	virtual void Render( void )	override;					// render the state


private:
	enum { PLAY/*, LOAD_GAME*/, OPTIONS, HOW_TO_PLAY, CREDITS, EXIT };
	///////////////////////////////////////////////
	// Singleton (but not dynamically allocated)
	CMainMenuState( void );
	virtual ~CMainMenuState( void );
	CMainMenuState( const CMainMenuState& );
	CMainMenuState& operator= ( const CMainMenuState& );

	
	///////////////////////////////////////////////
	// menu cursor position (index)
	int		m_nCursor;
};

#endif //MAINMENUSTATE_H
